/*
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *如果数据库字段发生变化，请在代码生器重新生成此Model
 */
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SqlSugar;
using VOL.Entity.SystemModels;

namespace VOL.Entity.DomainModels
{
    [Entity(TableCnName = "销售订单表", TableName = "shopordermodel")]
    public partial class shopordermodel : BaseEntity
    {
        /// <summary>
        /// 主键
        /// </summary>
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
        [Key]
        [Display(Name = "主键")]
        [Column(TypeName = "bigint")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public long Id { get; set; }

        /// <summary>
        /// 销售单号
        /// </summary>
        [Display(Name = "销售单号")]
        [MaxLength(20)]
        [Column(TypeName = "varchar(20)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string ShopOrderCode { get; set; }

        /// <summary>
        /// 销售日期
        /// </summary>
        [Display(Name = "销售日期")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public DateTime ShopOrderDate { get; set; }

        /// <summary>
        /// 客户外键Id
        /// </summary>
        [Display(Name = "客户外键Id")]
        [Column(TypeName = "bigint")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public long CustomerId { get; set; }

        /// <summary>
        /// 联系人
        /// </summary>
        [Display(Name = "联系人")]
        [MaxLength(30)]
        [Column(TypeName = "varchar(30)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string Contact { get; set; }

        /// <summary>
        /// 联系方式
        /// </summary>
        [Display(Name = "联系方式")]
        [MaxLength(30)]
        [Column(TypeName = "varchar(30)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string ContactPhone { get; set; }

        /// <summary>
        /// 销售部门外键Id
        /// </summary>
        [Display(Name = "销售部门外键Id")]
        [Column(TypeName = "varchar(100)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string DeptId { get; set; }

        /// <summary>
        /// 销售负责人外键(用户)Id
        /// </summary>
        [Display(Name = "销售负责人外键(用户)Id")]
        [Column(TypeName = "bigint")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public long UserId { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        [Display(Name = "备注")]
        [MaxLength(30)]
        [Column(TypeName = "varchar(30)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string Remark { get; set; }

        /// <summary>
        /// 单据状态
        /// </summary>
        [Display(Name = "单据状态")]
        [Column(TypeName = "int")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public int Status { get; set; }

        /// <summary>
        /// 审核人 (单据审核后赋值)
        /// </summary>
        [Display(Name = "审核人 (单据审核后赋值)")]
        [MaxLength(30)]
        [Column(TypeName = "varchar(30)")]
        [Editable(true)]
        public string Auditor { get; set; }

        /// <summary>
        /// 审核时间 (单据审核后赋值)
        /// </summary>
        [Display(Name = "审核时间 (单据审核后赋值)")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? AuditTime { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
        [Display(Name = "创建人")]
        [MaxLength(30)]
        [Column(TypeName = "varchar(30)")]
        [Editable(true)]
        public string Creator { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        [Display(Name = "创建时间")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? CreateDate { get; set; }

        /// <summary>
        /// 修改人
        /// </summary>
        [Display(Name = "修改人")]
        [MaxLength(30)]
        [Column(TypeName = "varchar(30)")]
        [Editable(true)]
        public string Modifier { get; set; }

        /// <summary>
        /// 修改时间
        /// </summary>
        [Display(Name = "修改时间")]
        [Column(TypeName = "datetime")]
        [Editable(true)]
        public DateTime? ModifyDate { get; set; }

        /// <summary>
        /// 是否删除
        /// </summary>
        [Display(Name = "是否删除")]
        [Column(TypeName = "tinyint")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public sbyte IsDelete { get; set; }

        /// <summary>
        /// 创建人ID
        /// </summary>
        [Display(Name = "创建人ID")]
        [Column(TypeName = "int")]
        [Editable(true)]
        public int? CreateID { get; set; }

        /// <summary>
        /// 修改人ID
        /// </summary>
        [Display(Name = "修改人ID")]
        [Column(TypeName = "int")]
        [Editable(true)]
        public int? ModifyID { get; set; }

        /// <summary>
        /// 销售总数量
        /// </summary>
        [Display(Name = "销售总数量")]
        [Column(TypeName = "int")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public int ShopAllNum { get; set; }

        /// <summary>
        /// 销售总金额
        /// </summary>
        [Display(Name = "销售总金额")]
        [Column(TypeName = "bigint")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public long ShopAllMoney { get; set; }

        /// <summary>
        /// 销售总货品
        /// </summary>
        [Display(Name = "销售总货品")]
        [MaxLength(50)]
        [Column(TypeName = "varchar(50)")]
        [Editable(true)]
        [Required(AllowEmptyStrings = false)]
        public string ShopAllGoods { get; set; }
        /// <summary>
        /// 出入库类型id
        /// </summary>
        [Display(Name = "出入库类型id")]
        [Column(TypeName = "bigint")]
        [Editable(true)]
        public long? InOutTypeId { get; set; }

        /// <summary>
        /// 出库状态
        /// </summary>
        [Display(Name = "出库状态")]
        [Column(TypeName = "int")]
        [Editable(true)]
        public int? OutStatus { get; set; }
    }
}
